package cn.vendsystem.com.service;

import cn.vendcommon.com.entity.User;
import cn.vendcommon.com.entity.vo.TokenVO;
import jakarta.validation.constraints.NotNull;

import java.util.List;

public interface UserService {
    User findByUserId(Long userId);

    User findByUserName(String username);

    void register(String username, String password);

    void update(User user);

    void updateAvatar(String avatarUrl);

    void updatePwd(String newPwd);

    void updateBaseInfo(User user);

    List<User> findAll();

    void addUser(User user);

    void updateUser(User user);

    void deleteUser(Integer id);

    void changeStatus(Integer id, Integer status);

    TokenVO login(String phone, String password, String ip, String token);

    User findByPhone(String phone);

    void logout(String token);

    TokenVO loginWX(String code);

    TokenVO loginWXSimple(String code);

    void deductionUserBalance(Long userId, Double account);

    int getRoleByUserId(Long userId);

    int getRoleByPhone(String phone);
}
